package main

import "fmt"

// 22_channel demo
// 提倡通过通信共享内存而不是通过共享内存而实现通信
// channel是一种类型，一种引用类型 01_var 变量 chan 元素类型
func main() {
	// 引用类型，需要初始化才能使用
	var ch1 chan int
	ch1 = make(chan int, 1) // 带缓冲区通道
	//ch1 = make(chan int) 无缓冲区通道  程序死锁，直到另一个goroutine来取
	ch1 <- 10
	x := <-ch1
	fmt.Println(x)
	close(ch1)
}
